package com.ylbh.modules.businessorder.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ylbh.common.exception.NormalException;
import com.ylbh.common.pojo.businessorder.dto.BusinessOrderDTO;
import com.ylbh.common.pojo.businessorder.vo.BusinessOrderDetailsVO;
import com.ylbh.common.pojo.businessorder.vo.NewBusinessOrderDetailsVO;
import com.ylbh.common.pojo.businessorder.vo.SubOrderDetailsVO;
import com.ylbh.common.utils.PageUtils;
import com.ylbh.modules.businessorder.entity.ShoppingBusinessOrder;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author czx
 * @date 2019-04-17 14:10:36
 */
public interface ShoppingBusinessOrderService extends IService<ShoppingBusinessOrder> {

    /**
     * 联盟店订单详情
     * @param id
     * @param payNo
     * @return
     */
    BusinessOrderDetailsVO getOrderByIdOrPayNo(Long id, String payNo, String orderType);

    /**
     * 树形联盟店订单列表
     * @param businessOrderDTO
     * @return
     */
    PageUtils queryOrderTreeList(BusinessOrderDTO businessOrderDTO);

    /**
     * 子订单详情
     * @param payNo
     * @return
     */
    SubOrderDetailsVO getOrderByPayNO(String payNo);

    /**
     * 导出联盟店订单
     * @param response
     * @throws NormalException
     */
    void businessOrderExcel(HttpServletResponse response, HttpServletRequest request)  throws NormalException;

    /**
     * 批量修改联盟店订单状态
     * @param payNo
     * @return
     */
    String modifyBatchOrderStatusById(String payNo);

    /**
     * 联盟店详情-新版
     * @param id
     * @param payNo
     * @param orderType
     * @return
     */
    NewBusinessOrderDetailsVO getNewOrderByIdOrPayNo(Long id, String payNo, String orderType);
}

